提升Unity开发效率的小技巧 您所在的位置:网站首页 unity 编译快捷键 提升Unity开发效率的小技巧

提升Unity开发效率的小技巧

2023-04-29 17:58| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

Yilmaz Kiymaz是InnoGames的资深Unity游戏开发者,他将分享一些小技巧来帮助我们加快开发速度,提升工作效率。包括:菜单项快捷键、自动化工作,流程的方法和缩短计算时间的方法。

编辑器中的快捷键

Unity编辑器中的一些重要快捷键包括:

创建新游戏对象:Cmd/Ctrl + Shift + N

启用游戏对象:Alt + Shift + A

添加组件:Cmd/Ctrl + Shift + A

了解完整的快捷键列表:

https://docs.unity3d.com/Manual/UnityHotkeys.html

了解项目窗口额外的快捷键:

https://docs.unity3d.com/Manual/ProjectView.html

菜单项的快捷方式

如果菜单项没有快捷方式,我们可以使用EditorApplication.ExecuteMenuItem进行添加。

我们也可以创建自定义菜单项,了解如何添加自定义菜单:

https://unity3d.com/learn/tutorials/topics/interface-essentials/unity-editor-extensions-menu-items?playlist=17117

自动化处理

AssetPostprocessor:当我们向Unity导入资源时,有很多可以修改的导入设置,它们会影响游戏的性能。因此选择正确的设置很重要。AssetPostprocessor API允许我们在导入资源之前或之后,关联导入管线并运行脚本。

ISerializationCallbackReceiver:序列化和反序列化二个列表后,我们会担心列表是否互相匹配。此时可以使用字典和序列化回调来无缝处理该过程。

EditorApplication类回调非常重要,因为它们能改变Unity的行为,并修改编辑器为理想的工作方式。

OnValidate():每次修改组件数值时,该函数都会在组件上调用。它会验证数值范围是否正确,并实现其它自定义功能。

在构建项目时,如果处于Xcode中的构建后期处理过程,或要修改部分文件,PostProcessBuildAttribute则会非常有用,我们能给它加入可用操作来改进处理时间。

减少计算时间

我们可以使用缓存服务器Cache Server来避免纹理导入时间,或者在设置中选择“Compress assets on import”来延迟纹理导入时间。大多数情况下,我们在打开新项目时不需要查看压缩版本的资源。

通过把代码放入Plugins文件夹,我们可以加快计算速度,虽然这个方法比较老,但它仍是一个好方法。Plugins文件夹的代码会编译到不同的程序集,如果修改了游戏代码,但该代码不在Plugins文件夹中,那么Plugins文件夹中的代码不会被编译,因此会减少重新编译的时间。

我们也可以使用DLL文件,我们可以使用程序集定义文件来指定哪个脚本应该在哪个程序集中。然后,修改的脚本只会和该程序集内的其它脚本一起编译。

我们也可以使用增量式编译器Incremental Compiler。增量式编译器Incremental Compiler由微软的Roslyn开源编译器项目开发,旨在大幅加快C#代码的迭代过程,并让我们使用C# 7.2的最新特性。

我们可以使用CompileTimeTracker工具来记录计算时间。该工具可以记录项目脚本重新编译时间的变化。它会显示当前编译时间的日志,对比其它的编译时间,并且提供把日志导出为CSV文件。

最后,我们可以尝试其它脚本编程方法。基于该函数库,我们可以用本地代码编写Unity脚本:支持C、C++和汇编代码。虽然该功能不适用于所有项目,但是大型项目的团队合作会考虑使用它,因为开发人员可能不习惯使用C++代码和管理内存。

缓存服务器:

https://github.com/Unity-Technologies/unity-cache-server

程序集定义文件:

https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html

CompileTimeTracker:

https://github.com/DarrenTsung/DTCompileTimeTracker

在Unity中快速获得新功能

Unity Package Manager

Unity Package Manager资源包管理器是一个模块化系统和API,它会在项目中动态地加载和更新Unity开发的新功能。请阅读《Unity资源包管理器-全新项目管理方式》了解详情。

Unity的GitHub主页

Unity的GitHub主页是Unity实验阶段和预览阶段新功能的宝库,包含大量示例项目、脚本和演示等内容。

Unity的GitHub主页:

https://github.com/Unity-Technologies

小结

以上就是Yilmaz Kiymaz分享的小技巧,希望大家能够掌握,从而提升Unity开发效率。

更多Unity精彩技术经验分享和谈论,尽在Unity Connect平台(Connect.unity.com)。

Unity UI性能优化技巧

Unity VR/AR项目优化技巧与工具

Cinemachine在2D游戏中的开发小技巧

揭秘《死者之书》之风、场景地形及优化技巧

Unity Physics和Havok Physics正式发布

Unity GDC 2019 Keynote精彩回顾

Unity对Stadia支持的相关信息

2D Pixel Perfect:使用Unity创建任天堂红白机风格复古游戏

官方活动

Unity技术分享日-深圳站报名开启

3月29日,我们将来到深圳举办Unity技术分享日,分享Unity最新的前沿技术,以及Unity官方技术专家团队一对一的项目诊断。[了解详情...]

报名地址:

https://connect.unity.com/events/2019UnityShenZhenRS

Unite Shanghai 2019

5月10日-12日上海,Unite大会强势回归。技术门票正在热销中,购票即获指定Asset Store资源商店精品21款资源的5折优惠券。

了解Training Day开发者训练营课程内容,请点击此处。

了解部分技术演讲内容,请点击此处。

购票请访问:Unite2019.csdn.net

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

/阅读下一篇/ 返回网易首页 下载网易新闻客户端


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有